1. Field of the Invention
The present invention relates to a signal processing apparatus that executes a plurality of microprograms in a time-sharing manner, to perform various arithmetic operations on digital signals.
2. Discussion of Related Art
Electronic musical instruments have been known which use DSP (digital signal processor), for example, for imparting sound effects, such as distortion or reverb, to musical tones, as disclosed in Japanese Laid-open Patent Publication No. 6-259249. Such an electronic musical instrument executes a plurality of microprograms corresponding to respective sound effects in a time-sharing manner (concurrently), so that a plurality of sound effects (five effects, for example) are imparted to musical tones. In this case, the microprograms corresponding to the respective sound effects use a delay memory for delaying musical tone signals, and perform processing for providing desired sound effects, using the delayed signals as needed.
A signal processing apparatus as proposed in the above-identified publication is capable of changing one of five sound effects, for example, into another sound effect during performance, by changing an appropriate microprogram to be executed, according to a command entered by the user. This apparatus is able to execute a total of five microprograms in a time-sharing manner, by selecting three kinds of microprograms having different step numbers (24, 56 and 96 steps).
In the known signal processing apparatus, the delay memory is divided into a plurality of storage areas corresponding to a plurality of microprograms, and each of the storage areas can be accessed only by a corresponding one of the microprograms. Where the delay memory stores any table or waveform data that is shared or used in common by all of the microprograms, the same data is stored in the respective storage areas into which the delay memory is divided, resulting in a waste of the capacity of the memory.
Also, the known apparatus as described above executes a fixed number of microprograms in a time-sharing manner, namely, the number of microprograms to be executed is determined to be five, and the size of each program (the number of steps) is only selected from the three kinds as described above, and cannot be changed to other values than the above-indicated three values.
In the known apparatus, each of the microprograms executed in a time-sharing manner uses a fixed number of input channel(s) and output channel(s). This arrangement may result in undesirable situations: namely, two input channels are inevitably used even if a monophonic input is satisfactory, or more output signals are desired to be generated in parallel, but cannot be generated due to the fixed number of output channels.
In the known apparatus using a signal delay memory for imparting sound effects to musical tones, data that is written into the signal delay memory is generally compressed by converting 32-bit data into 16-bit data by floating-point conversion, for example. The data compression is intended for preventing the capacity of the delay memory from being excessively large. As a result of the compression, the accuracy of delayed data may be reduced, and noises that are not negligible may occur, resulting in deteriorated quality of musical tones generated by the apparatus.